请教高手一个C++算术 2^n-1

来源:百度知道 编辑:UC知道 时间:2024/07/01 06:10:20
输出2^1000-1d后的500个数字(2的1000次方减1)
用c++
哪个高手可以帮帮我啊
还有
如果我想学解这一类的问题,应该看什么书好呢?

建议你看看一个大数相乘的库,具体的我还不会。。。

好了,自己完善一下。

display(){//诸位输出}
int main()
{
int a[1000];
memset(a,0,1000);
for(int i=1;i<=1000;i++)
muti(a);
for(int i=1;i<=500;i++)
{display(a);plus(a);}
}
plus(int a[])
{
a[1]+=1;
for(int i=1;i<=1000;i++)
if (a[i]>10)
{a[i+1]=a[i]\10;
a[i]=a[i]%10;}
}
muti(int a[])
{
a[1]*=2;
for(int i=1;i<=1000;i++)
if (a[i]>10)
{a[i+1]=a[i]\10;
a[i]=a[i]%10;}
}

看基本数学算法,大多讲初级算法的书里面都有

算算具体这结果有多少位[长度],然后使用数组存储大数的每一位数字A[长度],然后直接访问输出想要的
for(i=1;i<=500;i++){
printf("%d",a[长度+i]);
}

有这么麻烦吗?
2^1000-1后500个当然是全1阿 二进制